package leetcode1;

import java.util.*;
public class test3 {

    /*
    * 自己写的暴力算法
    * */
//    public int longestConsecutive(int[] nums) {
//         Arrays.sort(nums);
//         int i = 0;
//         int j = 1;
//        int index = 0;
//        int[] sum = {0};
//        while (i < nums.length - 1) {
//            if(nums[i] + 1 == nums[i + 1]){
//                ++i;
//                index = i;
//            }
//            else if(nums[i] == nums[i + 1]){
//                ++i;
//                index = i;
//                sum[0]++;
//            }
//            else
//                i = j++;
//
//        }
//        if(nums.length !=0)
//            return index + 1 - sum[0];
//        return 0;
//    }

    /*
    * 别人写的算法
    * */
    public int longestConsecutive(int[] nums){
       Set<Integer> set = new HashSet<>();
       for(int num:nums){
           set.add(num);
       }
       int ans = 0;
       for(int s:set){
           int cur = s;
           if(!set.contains(cur - 1)){
               while(set.contains(cur + 1)){
                   cur++;
               }
           }
           ans = Math.max(ans,cur - s + 1);
       }
       return ans;
    }


}
